package demo1;
/**
 * 1.下面的这个就是学习数组和list.map之类的这个内容
 * 2.使用这个for-each进行遍历的方法
 */

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Test {

    public static void main(String[] args) {
        //任务一：对于这个list里面的这个内容进行赋值和取值
        List<Map<String,String>> listMap=new ArrayList<Map<String,String>>();
        //上面的这个表示的实际上就是我们的这个list数组里面的每一个元素都是一个键值对的形式
        //我们需要使用这个遍历的方式得到这个list里面的每一个元素，进而对于这个键值对进行操作

        //首先第一步就是创建这个map对象
        //第二步就是把这个map对象放到这个list里面去
        Map<String, String> map1 = new HashMap<>();
        map1.put("201", "张三");
        map1.put("202", "李四");
        listMap.add(map1);

        Map<String, String> map2 = new HashMap<>();
        map2.put("203", "王五");
        map2.put("204", "赵六");
        listMap.add(map2);
        //接下来就是进行取值和遍历的操作

        //List<Map<String,String>> listMap
        for(Map<String,String> map:listMap){
            for(Map.Entry<String,String> entry:map.entrySet()){
                //通过调用当前外层循环变量 map 的 entrySet() 方法，
                // 会得到一个包含该 Map 中所有键值对的集合，
                // 这个集合中的元素类型是 Map.Entry<String, String>
                System.out.println("key:"+entry.getKey()+" value:"+entry.getValue());
            }
        }

    }




    public static void main2(String[] args) {
        //int a[]={2,3,4,5,7,8,9,6};
        List<Integer> list = new ArrayList<Integer>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        System.out.println("==下面的这个就是调用方法打印数据==");
        System.out.println(list.get(0));
        System.out.println(list.get(1));
        System.out.println(list.get(2));
        System.out.println(list.get(3));

        System.out.println("==这个就是我们的这个数组的第二个遍历的方式==");

        for(int i=0;i<list.size();i++){
            System.out.println(list.get(i));
        }

        System.out.println("==下面的这个反省里面存储的这个数据类型就是字符串类型==");
        List<String> list1=new ArrayList<>();
        list1.add("张三");
        list1.add("李四");
        list1.add("王五");
        list1.add("赵六");
        for(int i=0;i<list1.size();i++){
            System.out.println(list1.get(i));
        }

        System.out.println("==下面的这个就是使用的迭代器进行遍历的方式==");
        //下面的这个for-each显得更加的简洁和高效
        for(String s:list1){
            System.out.println(s);
        }

        System.out.println("==下面的这个就是使用键值对的方式进行输出的==");

        Map<Integer,String> map=new HashMap<>();
        map.put(111,"你好");
        map.put(222,"张三");
        map.put(333,"李四");
        System.out.println(map.get(111));
        System.out.println(map.get(222));
        System.out.println(map.get(333));

        //下面的这个循环的作用或者说是叫做这个写法的决提的含义就是：
        //我们的这个key就是取出来的这个数组里面的每一个数据都放到这个key里面去
        //每一次打印的时候都是那这个key数值进行输出的
        //冒号后边的这个内容就是取出来这个对应的索引：key内容
        for(Integer key:map.keySet()){
            System.out.println(map.get(key));
        }
    }
}
